﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Universitario.DAO;
using System.Collections;

namespace Universitario
{
    public partial class VagaVisualizacao : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            String idStr = Request["id"];
            int id = -1;

            Vaga vaga = null;
            Vaga_Estagio vagaEstagio = null;
            Vaga_Emprego vagaEmprego = null;
            Vaga_Trainee vagaTrainee = null;
            Vaga_Curso curso = null;

            try
            {
                id = Int32.Parse(idStr);

                vaga = VagaDAO.SelectById(id);
                vagaEstagio = vaga.Vaga_Estagio;
                vagaEmprego = vaga.Vaga_Emprego;
                vagaTrainee = vaga.Vaga_Trainee;

                TxtDataCriacao.Text = vaga.data_criacao == DateTime.MinValue ? "" : vaga.data_criacao.ToString();
                TxtDataFinal.Text = vaga.data_fim == DateTime.MinValue ? "" : vaga.data_fim.ToString();

                TxtCargaHoraria.Text = vaga.caga_horaria == -1 ? "Não divulgada." : vaga.caga_horaria.ToString();
                TxtRemuneracao.Text = vaga.remuneracao == -1 ? "Não divulgada." : vaga.remuneracao.ToString();

                TxtDescricao.Text = vaga.descricao;
                TxtDescricao.Enabled = false;

                TxtBeneficios.Text = vaga.beneficios;
                TxtBeneficios.Enabled = false;

                try
                {
                    curso = vaga.Vaga_Cursos.FirstOrDefault();
                    TxtCurso.Text = curso.Curso_Graduacao.nome;
                }
                catch ( ArgumentException ){}

                dadosEstagio.Visible = false;
                dadosTrainee.Visible = false;

                if (vagaEstagio != null)
                {
                    TxtTipoVaga.Text = "Estágio";
                    dadosEstagio.Visible = true;
                    dadosTrainee.Visible = false;

                    TxtPeriodoMin.Text = vagaEstagio.periodo_minimo == -1 ? "Não divulgado" : vagaEstagio.periodo_minimo.ToString();
                }
                else if (vagaTrainee != null)
                {
                    TxtTipoVaga.Text = "Trainee";
                    dadosEstagio.Visible = false;
                    dadosTrainee.Visible = true;

                    TxtIdadeMin.Text = vagaTrainee.idade_minima == -1 ? "Não divulgada" : vagaTrainee.idade_minima.ToString();
                    TxtIdadeMax.Text = vagaTrainee.idade_maxima == -1 ? "Não divulgada" : vagaTrainee.idade_maxima.ToString();
                    TxtTempoMaximo.Text = vagaTrainee.tempo_maximo_formatura == -1 ? "Não divulgado" : vagaTrainee.tempo_maximo_formatura.ToString();
                }
                else if (vagaEmprego != null)
                {
                    TxtTipoVaga.Text = "Emprego";
                    dadosEstagio.Visible = false;
                    dadosTrainee.Visible = false;
                }
            }
            catch ( Exception )
            {
                dadosEstagio.Visible = false;
                dadosTrainee.Visible = false;
            }
        }
    }
}